Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.02.2011, 09:58
Новичок на форуме
Отправить личное сообщение для chegee2 Посмотреть профиль Найти все сообщения от chegee2
 
Регистрация: 24.02.2011
Сообщений: 6

php скрипт не принимает POST параметры
есть php-скрипт который выводит форму, также есть java-скрипт, который прикреплен с помошью тега script, также есть третий php-скрипт который должен поидее принимать post параметры и возвращать результат, но

в результате всегда возвращается ответ, какбудьто никакого параметра не передавалось...

------------------------
index.php с формой
------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>JAVASCRIPT</title>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<form name="form1" id="fo" action="index.php">
<input type="text" name="text1" id="t">
<br>
<input type="button" name="button1" id="b" value="Погнали" onclick="gos();">
</form>
</body>
</html>


------------------------
script.js который выполняет ajax запрос к скрипту post.php
------------------------
function gos()
{
    var textEl = document.getElementById("t");
    var textToSend = textEl.value;
    
    var xmlht = new XMLHttpRequest();
    var sse = "param1="+encodeURIComponent(textToSend)+"&param2=laga";
    xmlht.open("POST", "post.php", true);
    xmlht.onreadystatechange = function(){
        if (xmlht.readyState == 4){
            var formEl = document.getElementById("fo");
            var newnode = document.createElement("p");
            newnode.innerHTML = xmlht.responseText;
            formEl.appendChild(newnode);
        }
    }
    xmlht.setRequestHeader("Content-Type", "application/x-www-from-urlencoded");
    alert(sse);
    xmlht.send(sse);
    
}


------------------------
post.php который должен принять параметр param1
------------------------
<?php

    if (isset($_POST['param1']))
    {
        echo "Was - ".$_POST['param1'].".";
    }
    else
    {
        phpinfo();
    }
?>


но всегда выводится phpinfo()...
но там переменная _SERVER["CONTENT_LENGTH"] всегда равна длинне параметров с их значениями....

помогите, если кому интересно, разобраться в чем причина, почему post.php не возвращает
echo "Was - ".$_POST['param1'].".";

Последний раз редактировалось chegee2, 24.02.2011 в 10:04.
Ответить с цитированием
  #2 (permalink)  
Старый 24.02.2011, 10:06
Новичок на форуме
Отправить личное сообщение для Cedrik Посмотреть профиль Найти все сообщения от Cedrik
 
Регистрация: 24.02.2011
Сообщений: 2

а ты в файрбаге на вкладке "Сеть" посмотри что точно передается.
А в php скрипте выполни:
print_r($_POST)

- посмотри что приходит
Ответить с цитированием
  #3 (permalink)  
Старый 24.02.2011, 10:10
Новичок на форуме
Отправить личное сообщение для chegee2 Посмотреть профиль Найти все сообщения от chegee2
 
Регистрация: 24.02.2011
Сообщений: 6

printr выдает Array() и все...
Какбудьто массив пустой и ничего не передавалось в него...

а файербаг, простите за безграмотность, это что такое?
Ответить с цитированием
  #4 (permalink)  
Старый 24.02.2011, 10:18
Новичок на форуме
Отправить личное сообщение для Cedrik Посмотреть профиль Найти все сообщения от Cedrik
 
Регистрация: 24.02.2011
Сообщений: 2

раз пустой - значит ничего не приходит.
FireBug - плагин для лисы, помогает в разработке.
Ошибку никакую не показывает?
Посмотри тут как кроссбраузерно создается объект обмена данными. У тебя - сильно просто.
Ответить с цитированием
  #5 (permalink)  
Старый 24.02.2011, 10:38
Новичок на форуме
Отправить личное сообщение для chegee2 Посмотреть профиль Найти все сообщения от chegee2
 
Регистрация: 24.02.2011
Сообщений: 6

нет ошибок никаких нет, и скрипт ответ возвращает, в виде "phpinfo", кстати GET методом нормально все работает, тоесть параметры нормально принимаются и скрипт возвращает нормальный ответ...

а про объект посмотрю щас, и отпишусь
Ответить с цитированием
  #6 (permalink)  
Старый 24.02.2011, 11:29
Новичок на форуме
Отправить личное сообщение для chegee2 Посмотреть профиль Найти все сообщения от chegee2
 
Регистрация: 24.02.2011
Сообщений: 6

ну. вобщем, скрипт script.js я изменил, теперь он выглядит вот так

function gos()
{
    var textEl = document.getElementById("t");
    var textToSend = textEl.value;
    
    function getXmlHttp()
    {
        var xmlht;
        try
        {
            xmlht = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlht = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (ee)
            {
                xmlht = false;
            }
        }
        if (!xmlht && typeof XMLHttpRequest!='undefined')
        {
            xmlht = new XMLHttpRequest();
        }
        return xmlht;
    }

    
    var xmlht = getXmlHttp(); //new XMLHttpRequest()
    var sse = "param1="+encodeURIComponent(textToSend)+"&param2=laga";
    xmlht.open("POST", "post.php", true);
    xmlht.onreadystatechange = function(){
        if (xmlht.readyState == 4){
            var formEl = document.getElementById("fo");
            var newnode = document.createElement("p");
            newnode.innerHTML = xmlht.responseText;
            formEl.appendChild(newnode);
        }
    }
    xmlht.setRequestHeader("Content-Type", "application/x-www-from-urlencoded");
    alert(sse);
    xmlht.send(sse);
    
}


тоесть добавилась функция getXmlHttp, с помощью которой же и создается объект запроса...
но к сожалению, ничего не изменилось, и, по прежнему, post.php возвращает "phpinfo"... может проблема в конфигурации php?
Ответить с цитированием
  #7 (permalink)  
Старый 24.02.2011, 11:52
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от chegee2
application/x-www-from-urlencoded
Опечатка. from -> form
Ответить с цитированием
  #8 (permalink)  
Старый 24.02.2011, 11:58
Новичок на форуме
Отправить личное сообщение для chegee2 Посмотреть профиль Найти все сообщения от chegee2
 
Регистрация: 24.02.2011
Сообщений: 6

офигеть глазастый )))
ща исправлю и посмотрю что получилось, отпишу
Ответить с цитированием
  #9 (permalink)  
Старый 24.02.2011, 12:08
Новичок на форуме
Отправить личное сообщение для chegee2 Посмотреть профиль Найти все сообщения от chegee2
 
Регистрация: 24.02.2011
Сообщений: 6



СТАЛО ТАК:

function gos()
{
    var textEl = document.getElementById("t");
    var textToSend = textEl.value;
    
    function getXmlHttp()
    {
        var xmlht;
        try
        {
            xmlht = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlht = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (ee)
            {
                xmlht = false;
            }
        }
        if (!xmlht && typeof XMLHttpRequest!='undefined')
        {
            xmlht = new XMLHttpRequest();
        }
        return xmlht;
    }

    
    var xmlht = getXmlHttp(); //new XMLHttpRequest()
    var sse = "param1="+encodeURIComponent(textToSend)+"&param2=laga";
    xmlht.open("POST", "post.php", true);
    xmlht.onreadystatechange = function()
    {
        if (xmlht.readyState == 4)
        {
            var formEl = document.getElementById("fo");
            var newnode = document.createElement("p");
            newnode.innerHTML = xmlht.responseText;
            formEl.appendChild(newnode);
        }
    }
    xmlht.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    alert(sse);
    xmlht.send(sse);
    
}


БЫЛО ТАК:

function gos()
{
    var textEl = document.getElementById("t");
    var textToSend = textEl.value;
    
    function getXmlHttp()
    {
        var xmlht;
        try
        {
            xmlht = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlht = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (ee)
            {
                xmlht = false;
            }
        }
        if (!xmlht && typeof XMLHttpRequest!='undefined')
        {
            xmlht = new XMLHttpRequest();
        }
        return xmlht;
    }

    
    var xmlht = getXmlHttp(); //new XMLHttpRequest()
    var sse = "param1="+encodeURIComponent(textToSend)+"&param2=laga";
    xmlht.open("POST", "post.php", true);
    xmlht.onreadystatechange = function()
    {
        if (xmlht.readyState == 4)
        {
            var formEl = document.getElementById("fo");
            var newnode = document.createElement("p");
            newnode.innerHTML = xmlht.responseText;
            formEl.appendChild(newnode);
        }
    }
    xmlht.setRequestHeader("Content-Type", "application/x-www-from-urlencoded");
    alert(sse);
    xmlht.send(sse);
    
}


Найди отличие мля!

Спасибо Kolyaj за глазастость, Cedrik спасибо за желание сотрудничать, полезные советы...

Можно тему закрывать...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
данные в php из javascript типо массив POST SanaPo Events/DOM/Window 2 12.02.2011 22:19
Передача POST запросом массива из PHP alex_zp jQuery 6 16.11.2010 08:16
Может ли скрипт передать на сервер параметры окна :\ ForumReader Internet Explorer 5 21.07.2010 03:34
php не принимает значения динамических полей (кроме браузера IE) Serge xcom Events/DOM/Window 2 23.08.2009 12:15
Чужей php скрипт wave Общие вопросы Javascript 13 20.12.2008 21:10